#ifndef NETWORK_POSTJSONREQUEST_H
#define NETWORK_POSTJSONREQUEST_H

#include "networkpostrequest.h"

#include <QVariant>


namespace Network {
class JSONResponse;
class PostJsonRequest : public PostRequest
{
    Q_OBJECT
public:
    PostJsonRequest();

public:
    const Response &response() const;

public:
    virtual const JSONResponse &jsonResponse() const = 0;
    virtual QVariant json() const = 0;

private:
    Response &response();
    QByteArray data() const;
    QString format() const;

private:
    virtual JSONResponse &jsonResponse() = 0;
};

}
#endif // POSTJSONREQUEST_H
